//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') >> new Object());
write(new String('he' + 'llo') >> new Object());
write(new String('he' + 'llo') >> [1, 2, 3]);
write(new String('he' + 'llo') >> [1 ,2 , 3]);
write(new String('he' + 'llo') >> new Array(3));
write(new String('he' + 'llo') >> Array(3));
write(new String('he' + 'llo') >> new Array(1 ,2 ,3));
write(new String('he' + 'llo') >> Array(1));
write(new String('he' + 'llo') >> foo);
write(new Object() >> undefined);
write(new Object() >> null);
write(new Object() >> true);
write(new Object() >> false);
write(new Object() >> Boolean(true));
write(new Object() >> Boolean(false));
write(new Object() >> new Boolean(true));
write(new Object() >> new Boolean(false));
write(new Object() >> NaN);
write(new Object() >> +0);
write(new Object() >> -0);
write(new Object() >> 0);
write(new Object() >> 0.0);
write(new Object() >> -0.0);
write(new Object() >> +0.0);
write(new Object() >> 1);
write(new Object() >> 10);
write(new Object() >> 10.0);
write(new Object() >> 10.1);
write(new Object() >> -1);
write(new Object() >> -10);
write(new Object() >> -10.0);
write(new Object() >> -10.1);
write(new Object() >> Number.MAX_VALUE);
write(new Object() >> Number.MIN_VALUE);
write(new Object() >> Number.NaN);
write(new Object() >> Number.POSITIVE_INFINITY);
write(new Object() >> Number.NEGATIVE_INFINITY);
write(new Object() >> new Number(NaN));
write(new Object() >> new Number(+0));
write(new Object() >> new Number(-0));
write(new Object() >> new Number(0));
write(new Object() >> new Number(0.0));
write(new Object() >> new Number(-0.0));
write(new Object() >> new Number(+0.0));
write(new Object() >> new Number(1));
write(new Object() >> new Number(10));
write(new Object() >> new Number(10.0));
write(new Object() >> new Number(10.1));
write(new Object() >> new Number(-1));
write(new Object() >> new Number(-10));
write(new Object() >> new Number(-10.0));
write(new Object() >> new Number(-10.1));
write(new Object() >> new Number(Number.MAX_VALUE));
write(new Object() >> new Number(Number.MIN_VALUE));
write(new Object() >> new Number(Number.NaN));
write(new Object() >> new Number(Number.POSITIVE_INFINITY));
write(new Object() >> new Number(Number.NEGATIVE_INFINITY));
write(new Object() >> '');
write(new Object() >> 0xa);
write(new Object() >> 04);
write(new Object() >> 'hello');
write(new Object() >> 'hel' + 'lo');
write(new Object() >> String(''));
write(new Object() >> String('hello'));
write(new Object() >> String('h' + 'ello'));
write(new Object() >> new String(''));
write(new Object() >> new String('hello'));
write(new Object() >> new String('he' + 'llo'));
write(new Object() >> new Object());
write(new Object() >> new Object());
write(new Object() >> [1, 2, 3]);
write(new Object() >> [1 ,2 , 3]);
write(new Object() >> new Array(3));
write(new Object() >> Array(3));
write(new Object() >> new Array(1 ,2 ,3));
write(new Object() >> Array(1));
write(new Object() >> foo);
write(new Object() >> undefined);
write(new Object() >> null);
write(new Object() >> true);
write(new Object() >> false);
write(new Object() >> Boolean(true));
write(new Object() >> Boolean(false));
write(new Object() >> new Boolean(true));
write(new Object() >> new Boolean(false));
write(new Object() >> NaN);
write(new Object() >> +0);
write(new Object() >> -0);
write(new Object() >> 0);
write(new Object() >> 0.0);
write(new Object() >> -0.0);
write(new Object() >> +0.0);
write(new Object() >> 1);
write(new Object() >> 10);
write(new Object() >> 10.0);
write(new Object() >> 10.1);
write(new Object() >> -1);
write(new Object() >> -10);
write(new Object() >> -10.0);
write(new Object() >> -10.1);
write(new Object() >> Number.MAX_VALUE);
write(new Object() >> Number.MIN_VALUE);
write(new Object() >> Number.NaN);
write(new Object() >> Number.POSITIVE_INFINITY);
write(new Object() >> Number.NEGATIVE_INFINITY);
write(new Object() >> new Number(NaN));
write(new Object() >> new Number(+0));
write(new Object() >> new Number(-0));
write(new Object() >> new Number(0));
write(new Object() >> new Number(0.0));
write(new Object() >> new Number(-0.0));
write(new Object() >> new Number(+0.0));
write(new Object() >> new Number(1));
write(new Object() >> new Number(10));
write(new Object() >> new Number(10.0));
write(new Object() >> new Number(10.1));
write(new Object() >> new Number(-1));
write(new Object() >> new Number(-10));
write(new Object() >> new Number(-10.0));
write(new Object() >> new Number(-10.1));
write(new Object() >> new Number(Number.MAX_VALUE));
write(new Object() >> new Number(Number.MIN_VALUE));
write(new Object() >> new Number(Number.NaN));
write(new Object() >> new Number(Number.POSITIVE_INFINITY));
write(new Object() >> new Number(Number.NEGATIVE_INFINITY));
write(new Object() >> '');
write(new Object() >> 0xa);
write(new Object() >> 04);
write(new Object() >> 'hello');
write(new Object() >> 'hel' + 'lo');
write(new Object() >> String(''));
write(new Object() >> String('hello'));
write(new Object() >> String('h' + 'ello'));
write(new Object() >> new String(''));
write(new Object() >> new String('hello'));
write(new Object() >> new String('he' + 'llo'));
write(new Object() >> new Object());
write(new Object() >> new Object());
write(new Object() >> [1, 2, 3]);
write(new Object() >> [1 ,2 , 3]);
write(new Object() >> new Array(3));
write(new Object() >> Array(3));
write(new Object() >> new Array(1 ,2 ,3));
write(new Object() >> Array(1));
write(new Object() >> foo);
write([1, 2, 3] >> undefined);
write([1, 2, 3] >> null);
write([1, 2, 3] >> true);
write([1, 2, 3] >> false);
write([1, 2, 3] >> Boolean(true));
write([1, 2, 3] >> Boolean(false));
write([1, 2, 3] >> new Boolean(true));
write([1, 2, 3] >> new Boolean(false));
write([1, 2, 3] >> NaN);
write([1, 2, 3] >> +0);
write([1, 2, 3] >> -0);
write([1, 2, 3] >> 0);
write([1, 2, 3] >> 0.0);
write([1, 2, 3] >> -0.0);
write([1, 2, 3] >> +0.0);
write([1, 2, 3] >> 1);
write([1, 2, 3] >> 10);
write([1, 2, 3] >> 10.0);
write([1, 2, 3] >> 10.1);
write([1, 2, 3] >> -1);
write([1, 2, 3] >> -10);
write([1, 2, 3] >> -10.0);
write([1, 2, 3] >> -10.1);
write([1, 2, 3] >> Number.MAX_VALUE);
write([1, 2, 3] >> Number.MIN_VALUE);
write([1, 2, 3] >> Number.NaN);
write([1, 2, 3] >> Number.POSITIVE_INFINITY);
write([1, 2, 3] >> Number.NEGATIVE_INFINITY);
write([1, 2, 3] >> new Number(NaN));
write([1, 2, 3] >> new Number(+0));
write([1, 2, 3] >> new Number(-0));
write([1, 2, 3] >> new Number(0));
write([1, 2, 3] >> new Number(0.0));
write([1, 2, 3] >> new Number(-0.0));
write([1, 2, 3] >> new Number(+0.0));
write([1, 2, 3] >> new Number(1));
write([1, 2, 3] >> new Number(10));
write([1, 2, 3] >> new Number(10.0));
write([1, 2, 3] >> new Number(10.1));
write([1, 2, 3] >> new Number(-1));
write([1, 2, 3] >> new Number(-10));
write([1, 2, 3] >> new Number(-10.0));
write([1, 2, 3] >> new Number(-10.1));
write([1, 2, 3] >> new Number(Number.MAX_VALUE));
write([1, 2, 3] >> new Number(Number.MIN_VALUE));
write([1, 2, 3] >> new Number(Number.NaN));
write([1, 2, 3] >> new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] >> new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] >> '');
write([1, 2, 3] >> 0xa);
write([1, 2, 3] >> 04);
write([1, 2, 3] >> 'hello');
write([1, 2, 3] >> 'hel' + 'lo');
write([1, 2, 3] >> String(''));
write([1, 2, 3] >> String('hello'));
write([1, 2, 3] >> String('h' + 'ello'));
write([1, 2, 3] >> new String(''));
write([1, 2, 3] >> new String('hello'));
write([1, 2, 3] >> new String('he' + 'llo'));
write([1, 2, 3] >> new Object());
write([1, 2, 3] >> new Object());
write([1, 2, 3] >> [1, 2, 3]);
write([1, 2, 3] >> [1 ,2 , 3]);
write([1, 2, 3] >> new Array(3));
write([1, 2, 3] >> Array(3));
write([1, 2, 3] >> new Array(1 ,2 ,3));
write([1, 2, 3] >> Array(1));
write([1, 2, 3] >> foo);
write([1 ,2 , 3] >> undefined);
write([1 ,2 , 3] >> null);
write([1 ,2 , 3] >> true);
write([1 ,2 , 3] >> false);
write([1 ,2 , 3] >> Boolean(true));
write([1 ,2 , 3] >> Boolean(false));
write([1 ,2 , 3] >> new Boolean(true));
write([1 ,2 , 3] >> new Boolean(false));
write([1 ,2 , 3] >> NaN);
write([1 ,2 , 3] >> +0);
write([1 ,2 , 3] >> -0);
write([1 ,2 , 3] >> 0);
write([1 ,2 , 3] >> 0.0);
write([1 ,2 , 3] >> -0.0);
write([1 ,2 , 3] >> +0.0);
write([1 ,2 , 3] >> 1);
write([1 ,2 , 3] >> 10);
write([1 ,2 , 3] >> 10.0);
write([1 ,2 , 3] >> 10.1);
write([1 ,2 , 3] >> -1);
write([1 ,2 , 3] >> -10);
write([1 ,2 , 3] >> -10.0);
write([1 ,2 , 3] >> -10.1);
write([1 ,2 , 3] >> Number.MAX_VALUE);
write([1 ,2 , 3] >> Number.MIN_VALUE);
write([1 ,2 , 3] >> Number.NaN);
write([1 ,2 , 3] >> Number.POSITIVE_INFINITY);
write([1 ,2 , 3] >> Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] >> new Number(NaN));
write([1 ,2 , 3] >> new Number(+0));
write([1 ,2 , 3] >> new Number(-0));
write([1 ,2 , 3] >> new Number(0));
write([1 ,2 , 3] >> new Number(0.0));
write([1 ,2 , 3] >> new Number(-0.0));
write([1 ,2 , 3] >> new Number(+0.0));
write([1 ,2 , 3] >> new Number(1));
write([1 ,2 , 3] >> new Number(10));
write([1 ,2 , 3] >> new Number(10.0));
write([1 ,2 , 3] >> new Number(10.1));
write([1 ,2 , 3] >> new Number(-1));
write([1 ,2 , 3] >> new Number(-10));
write([1 ,2 , 3] >> new Number(-10.0));
write([1 ,2 , 3] >> new Number(-10.1));
write([1 ,2 , 3] >> new Number(Number.MAX_VALUE));
write([1 ,2 , 3] >> new Number(Number.MIN_VALUE));
write([1 ,2 , 3] >> new Number(Number.NaN));
write([1 ,2 , 3] >> new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] >> new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] >> '');
write([1 ,2 , 3] >> 0xa);
write([1 ,2 , 3] >> 04);
write([1 ,2 , 3] >> 'hello');
write([1 ,2 , 3] >> 'hel' + 'lo');
write([1 ,2 , 3] >> String(''));
write([1 ,2 , 3] >> String('hello'));
write([1 ,2 , 3] >> String('h' + 'ello'));
write([1 ,2 , 3] >> new String(''));
write([1 ,2 , 3] >> new String('hello'));
write([1 ,2 , 3] >> new String('he' + 'llo'));
write([1 ,2 , 3] >> new Object());
write([1 ,2 , 3] >> new Object());
write([1 ,2 , 3] >> [1, 2, 3]);
write([1 ,2 , 3] >> [1 ,2 , 3]);
write([1 ,2 , 3] >> new Array(3));
write([1 ,2 , 3] >> Array(3));
write([1 ,2 , 3] >> new Array(1 ,2 ,3));
write([1 ,2 , 3] >> Array(1));
write([1 ,2 , 3] >> foo);
write(new Array(3) >> undefined);
write(new Array(3) >> null);
write(new Array(3) >> true);
write(new Array(3) >> false);
write(new Array(3) >> Boolean(true));
write(new Array(3) >> Boolean(false));
write(new Array(3) >> new Boolean(true));
write(new Array(3) >> new Boolean(false));
write(new Array(3) >> NaN);
write(new Array(3) >> +0);
write(new Array(3) >> -0);
write(new Array(3) >> 0);
write(new Array(3) >> 0.0);
write(new Array(3) >> -0.0);
write(new Array(3) >> +0.0);
write(new Array(3) >> 1);
write(new Array(3) >> 10);
write(new Array(3) >> 10.0);
write(new Array(3) >> 10.1);
write(new Array(3) >> -1);
write(new Array(3) >> -10);
write(new Array(3) >> -10.0);
write(new Array(3) >> -10.1);
write(new Array(3) >> Number.MAX_VALUE);
write(new Array(3) >> Number.MIN_VALUE);
write(new Array(3) >> Number.NaN);
write(new Array(3) >> Number.POSITIVE_INFINITY);
write(new Array(3) >> Number.NEGATIVE_INFINITY);
write(new Array(3) >> new Number(NaN));
write(new Array(3) >> new Number(+0));
write(new Array(3) >> new Number(-0));
write(new Array(3) >> new Number(0));
write(new Array(3) >> new Number(0.0));
write(new Array(3) >> new Number(-0.0));
write(new Array(3) >> new Number(+0.0));
write(new Array(3) >> new Number(1));
write(new Array(3) >> new Number(10));
write(new Array(3) >> new Number(10.0));
write(new Array(3) >> new Number(10.1));
write(new Array(3) >> new Number(-1));
write(new Array(3) >> new Number(-10));
write(new Array(3) >> new Number(-10.0));
write(new Array(3) >> new Number(-10.1));
write(new Array(3) >> new Number(Number.MAX_VALUE));
write(new Array(3) >> new Number(Number.MIN_VALUE));
write(new Array(3) >> new Number(Number.NaN));
write(new Array(3) >> new Number(Number.POSITIVE_INFINITY));
write(new Array(3) >> new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) >> '');
write(new Array(3) >> 0xa);
write(new Array(3) >> 04);
write(new Array(3) >> 'hello');
write(new Array(3) >> 'hel' + 'lo');
write(new Array(3) >> String(''));
write(new Array(3) >> String('hello'));
write(new Array(3) >> String('h' + 'ello'));
write(new Array(3) >> new String(''));
write(new Array(3) >> new String('hello'));
write(new Array(3) >> new String('he' + 'llo'));
write(new Array(3) >> new Object());
write(new Array(3) >> new Object());
write(new Array(3) >> [1, 2, 3]);
write(new Array(3) >> [1 ,2 , 3]);
write(new Array(3) >> new Array(3));
write(new Array(3) >> Array(3));
write(new Array(3) >> new Array(1 ,2 ,3));
write(new Array(3) >> Array(1));
write(new Array(3) >> foo);
write(Array(3) >> undefined);
write(Array(3) >> null);
write(Array(3) >> true);
write(Array(3) >> false);
write(Array(3) >> Boolean(true));
write(Array(3) >> Boolean(false));
write(Array(3) >> new Boolean(true));
write(Array(3) >> new Boolean(false));
write(Array(3) >> NaN);
write(Array(3) >> +0);
write(Array(3) >> -0);
write(Array(3) >> 0);
write(Array(3) >> 0.0);
write(Array(3) >> -0.0);
write(Array(3) >> +0.0);
write(Array(3) >> 1);
write(Array(3) >> 10);
write(Array(3) >> 10.0);
write(Array(3) >> 10.1);
write(Array(3) >> -1);
write(Array(3) >> -10);
write(Array(3) >> -10.0);
write(Array(3) >> -10.1);
write(Array(3) >> Number.MAX_VALUE);
write(Array(3) >> Number.MIN_VALUE);
write(Array(3) >> Number.NaN);
write(Array(3) >> Number.POSITIVE_INFINITY);
write(Array(3) >> Number.NEGATIVE_INFINITY);
write(Array(3) >> new Number(NaN));
write(Array(3) >> new Number(+0));
write(Array(3) >> new Number(-0));
write(Array(3) >> new Number(0));
write(Array(3) >> new Number(0.0));
write(Array(3) >> new Number(-0.0));
write(Array(3) >> new Number(+0.0));
write(Array(3) >> new Number(1));
write(Array(3) >> new Number(10));
write(Array(3) >> new Number(10.0));
write(Array(3) >> new Number(10.1));
write(Array(3) >> new Number(-1));
write(Array(3) >> new Number(-10));
write(Array(3) >> new Number(-10.0));
write(Array(3) >> new Number(-10.1));
write(Array(3) >> new Number(Number.MAX_VALUE));
write(Array(3) >> new Number(Number.MIN_VALUE));
write(Array(3) >> new Number(Number.NaN));
write(Array(3) >> new Number(Number.POSITIVE_INFINITY));
write(Array(3) >> new Number(Number.NEGATIVE_INFINITY));
write(Array(3) >> '');
write(Array(3) >> 0xa);
write(Array(3) >> 04);
write(Array(3) >> 'hello');
write(Array(3) >> 'hel' + 'lo');
write(Array(3) >> String(''));
write(Array(3) >> String('hello'));
write(Array(3) >> String('h' + 'ello'));
write(Array(3) >> new String(''));
write(Array(3) >> new String('hello'));
write(Array(3) >> new String('he' + 'llo'));
write(Array(3) >> new Object());
write(Array(3) >> new Object());
write(Array(3) >> [1, 2, 3]);
write(Array(3) >> [1 ,2 , 3]);
write(Array(3) >> new Array(3));
write(Array(3) >> Array(3));
write(Array(3) >> new Array(1 ,2 ,3));
write(Array(3) >> Array(1));
write(Array(3) >> foo);
write(new Array(1 ,2 ,3) >> undefined);
write(new Array(1 ,2 ,3) >> null);
write(new Array(1 ,2 ,3) >> true);
write(new Array(1 ,2 ,3) >> false);
write(new Array(1 ,2 ,3) >> Boolean(true));
write(new Array(1 ,2 ,3) >> Boolean(false));
write(new Array(1 ,2 ,3) >> new Boolean(true));
write(new Array(1 ,2 ,3) >> new Boolean(false));
write(new Array(1 ,2 ,3) >> NaN);
write(new Array(1 ,2 ,3) >> +0);
write(new Array(1 ,2 ,3) >> -0);
write(new Array(1 ,2 ,3) >> 0);
write(new Array(1 ,2 ,3) >> 0.0);
write(new Array(1 ,2 ,3) >> -0.0);
write(new Array(1 ,2 ,3) >> +0.0);
write(new Array(1 ,2 ,3) >> 1);
write(new Array(1 ,2 ,3) >> 10);
write(new Array(1 ,2 ,3) >> 10.0);
write(new Array(1 ,2 ,3) >> 10.1);
write(new Array(1 ,2 ,3) >> -1);
write(new Array(1 ,2 ,3) >> -10);
write(new Array(1 ,2 ,3) >> -10.0);
write(new Array(1 ,2 ,3) >> -10.1);
write(new Array(1 ,2 ,3) >> Number.MAX_VALUE);
write(new Array(1 ,2 ,3) >> Number.MIN_VALUE);
write(new Array(1 ,2 ,3) >> Number.NaN);
write(new Array(1 ,2 ,3) >> Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) >> Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) >> new Number(NaN));
write(new Array(1 ,2 ,3) >> new Number(+0));
write(new Array(1 ,2 ,3) >> new Number(-0));
write(new Array(1 ,2 ,3) >> new Number(0));
write(new Array(1 ,2 ,3) >> new Number(0.0));
write(new Array(1 ,2 ,3) >> new Number(-0.0));
write(new Array(1 ,2 ,3) >> new Number(+0.0));
write(new Array(1 ,2 ,3) >> new Number(1));
write(new Array(1 ,2 ,3) >> new Number(10));
write(new Array(1 ,2 ,3) >> new Number(10.0));
write(new Array(1 ,2 ,3) >> new Number(10.1));
write(new Array(1 ,2 ,3) >> new Number(-1));
write(new Array(1 ,2 ,3) >> new Number(-10));
write(new Array(1 ,2 ,3) >> new Number(-10.0));
write(new Array(1 ,2 ,3) >> new Number(-10.1));
write(new Array(1 ,2 ,3) >> new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) >> new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) >> new Number(Number.NaN));
write(new Array(1 ,2 ,3) >> new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) >> new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) >> '');
write(new Array(1 ,2 ,3) >> 0xa);
write(new Array(1 ,2 ,3) >> 04);
write(new Array(1 ,2 ,3) >> 'hello');
write(new Array(1 ,2 ,3) >> 'hel' + 'lo');
write(new Array(1 ,2 ,3) >> String(''));
write(new Array(1 ,2 ,3) >> String('hello'));
write(new Array(1 ,2 ,3) >> String('h' + 'ello'));
write(new Array(1 ,2 ,3) >> new String(''));
write(new Array(1 ,2 ,3) >> new String('hello'));
write(new Array(1 ,2 ,3) >> new String('he' + 'llo'));
write(new Array(1 ,2 ,3) >> new Object());
write(new Array(1 ,2 ,3) >> new Object());
write(new Array(1 ,2 ,3) >> [1, 2, 3]);
write(new Array(1 ,2 ,3) >> [1 ,2 , 3]);
write(new Array(1 ,2 ,3) >> new Array(3));
write(new Array(1 ,2 ,3) >> Array(3));
write(new Array(1 ,2 ,3) >> new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) >> Array(1));
write(new Array(1 ,2 ,3) >> foo);
write(Array(1) >> undefined);
write(Array(1) >> null);
write(Array(1) >> true);
write(Array(1) >> false);
write(Array(1) >> Boolean(true));
write(Array(1) >> Boolean(false));
write(Array(1) >> new Boolean(true));
write(Array(1) >> new Boolean(false));
write(Array(1) >> NaN);
write(Array(1) >> +0);
write(Array(1) >> -0);
write(Array(1) >> 0);
write(Array(1) >> 0.0);
write(Array(1) >> -0.0);
write(Array(1) >> +0.0);
write(Array(1) >> 1);
write(Array(1) >> 10);
write(Array(1) >> 10.0);
write(Array(1) >> 10.1);
write(Array(1) >> -1);
write(Array(1) >> -10);
write(Array(1) >> -10.0);
write(Array(1) >> -10.1);
write(Array(1) >> Number.MAX_VALUE);
write(Array(1) >> Number.MIN_VALUE);
write(Array(1) >> Number.NaN);
write(Array(1) >> Number.POSITIVE_INFINITY);
write(Array(1) >> Number.NEGATIVE_INFINITY);
write(Array(1) >> new Number(NaN));
write(Array(1) >> new Number(+0));
write(Array(1) >> new Number(-0));
write(Array(1) >> new Number(0));
write(Array(1) >> new Number(0.0));
write(Array(1) >> new Number(-0.0));
write(Array(1) >> new Number(+0.0));
write(Array(1) >> new Number(1));
write(Array(1) >> new Number(10));
write(Array(1) >> new Number(10.0));
write(Array(1) >> new Number(10.1));
write(Array(1) >> new Number(-1));
write(Array(1) >> new Number(-10));
write(Array(1) >> new Number(-10.0));
write(Array(1) >> new Number(-10.1));
write(Array(1) >> new Number(Number.MAX_VALUE));
write(Array(1) >> new Number(Number.MIN_VALUE));
write(Array(1) >> new Number(Number.NaN));
write(Array(1) >> new Number(Number.POSITIVE_INFINITY));
write(Array(1) >> new Number(Number.NEGATIVE_INFINITY));
write(Array(1) >> '');
write(Array(1) >> 0xa);
write(Array(1) >> 04);
write(Array(1) >> 'hello');
write(Array(1) >> 'hel' + 'lo');
write(Array(1) >> String(''));
write(Array(1) >> String('hello'));
write(Array(1) >> String('h' + 'ello'));
write(Array(1) >> new String(''));
write(Array(1) >> new String('hello'));
write(Array(1) >> new String('he' + 'llo'));
write(Array(1) >> new Object());
write(Array(1) >> new Object());
write(Array(1) >> [1, 2, 3]);
write(Array(1) >> [1 ,2 , 3]);
write(Array(1) >> new Array(3));
write(Array(1) >> Array(3));
write(Array(1) >> new Array(1 ,2 ,3));
write(Array(1) >> Array(1));
write(Array(1) >> foo);
write(foo >> undefined);
write(foo >> null);
write(foo >> true);
write(foo >> false);
write(foo >> Boolean(true));
write(foo >> Boolean(false));
write(foo >> new Boolean(true));
write(foo >> new Boolean(false));
write(foo >> NaN);
write(foo >> +0);
write(foo >> -0);
write(foo >> 0);
write(foo >> 0.0);
write(foo >> -0.0);
write(foo >> +0.0);
write(foo >> 1);
write(foo >> 10);
write(foo >> 10.0);
write(foo >> 10.1);
write(foo >> -1);
write(foo >> -10);
write(foo >> -10.0);
write(foo >> -10.1);
write(foo >> Number.MAX_VALUE);
write(foo >> Number.MIN_VALUE);
write(foo >> Number.NaN);
write(foo >> Number.POSITIVE_INFINITY);
write(foo >> Number.NEGATIVE_INFINITY);
write(foo >> new Number(NaN));
write(foo >> new Number(+0));
write(foo >> new Number(-0));
write(foo >> new Number(0));
write(foo >> new Number(0.0));
write(foo >> new Number(-0.0));
write(foo >> new Number(+0.0));
write(foo >> new Number(1));
write(foo >> new Number(10));
write(foo >> new Number(10.0));
write(foo >> new Number(10.1));
write(foo >> new Number(-1));
write(foo >> new Number(-10));
write(foo >> new Number(-10.0));
write(foo >> new Number(-10.1));
write(foo >> new Number(Number.MAX_VALUE));
write(foo >> new Number(Number.MIN_VALUE));
write(foo >> new Number(Number.NaN));
write(foo >> new Number(Number.POSITIVE_INFINITY));
write(foo >> new Number(Number.NEGATIVE_INFINITY));
write(foo >> '');
write(foo >> 0xa);
write(foo >> 04);
write(foo >> 'hello');
write(foo >> 'hel' + 'lo');
write(foo >> String(''));
write(foo >> String('hello'));
write(foo >> String('h' + 'ello'));
write(foo >> new String(''));
write(foo >> new String('hello'));
write(foo >> new String('he' + 'llo'));
write(foo >> new Object());
write(foo >> new Object());
write(foo >> [1, 2, 3]);
write(foo >> [1 ,2 , 3]);
write(foo >> new Array(3));
write(foo >> Array(3));
write(foo >> new Array(1 ,2 ,3));
write(foo >> Array(1));
write(foo >> foo);
